Processing multidimensional signal

ABSTRACT

A computer-implemented method, computing system and non-transitory computer readable medium having computer readable code thereon for processing a dataset of multidimensional signals captured from points in a physical space. The computer-implemented method includes using a computing system, determining, for each of the points, a plurality of spatially neighboring points in the physical space; and using the computing system, creating a modified signal for each point based on the signals of its respective spatially neighboring points

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. patent application Ser. No. 14/651,930, filed Jun. 12, 2015, now U.S. Pat. No. 11,131,734, issued Sep. 28, 2021, which is a National Stage application under 35 U.S.C. § 371 of PCT/CA2013/001033, filed Dec. 12, 2013, which claims benefit of priority from U.S. Provisional Patent Application No. 61/737,032, filed Dec. 13, 2012, the entirety of which are expressly incorporated herein by reference.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to (copyright or mask work) protection. The (copyright or mask work) owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all (copyright or mask work) rights whatsoever.

FIELD OF THE INVENTION

The following relates generally to signal processing, and more particularly to a computer-implemented method, a computing system, and a computer program product for processing multidimensional signals captured from physical space.

BACKGROUND OF THE INVENTION

Raw multidimensional signals may be captured from physical space by various devices, using various techniques, and for various uses. In the field of data processing, it is often a goal to process raw multidimensional signals in order to obtain representations of the signals that are more useful than when in raw form, for subsequent processing and other operations such as classification, visualization and the like.

Various techniques for processing multidimensional signals in an attempt to obtain more useful representations through reconstruction, for example by way of dimensionality reduction, include the well-understood principle component analysis (PCA) and multidimensional scaling (MDS) techniques. Each of PCA and MDS are eigenvector techniques that are useful for modeling linear variabilities in raw multidimensional data.

For modelling nonlinear variabilities in raw multidimensional data, the unsupervised technique of local linear embedding (LLE) has been found to be useful. LLE was described by Sam Roweis and Lawrence Saul in their paper entitled “Nonlinear dimensionality reduction by locally linear embedding” (Science, v. 290 no. 5500, December 2000, pp. 2323-2326). According to this technique, nonlinear manifolds in the raw multidimensional data may first be modeled as locally-linear patches, which patches are then preserved in the reconstruction such that neighbors remain neighbors after reconstruction. A technique for dealing with what can be highly nonlinear embeddings resulting from LLE was subsequent described by Roweis and Saul in their paper entitled “Think Globally, Fit Locally: Unsupervised Learning of Nonlinear Manifolds” (Technical Report MS CIS-02-18, University of Pennsylvania Scholarly Commons, 2003).

An example of a raw multidimensional signal is a blood oxygenation level dependent (BOLD) signal captured from each of multiple points within physical space (in this example a three-dimensional volume) using functional magnetic resonance imaging (fMRI). The physical space may contain the brain of a subject, and the fMRI devices use paramagnetic deoxyhemoglobin within the brain as a BOLD contrast. That is, a BOLD intensity signal for a given point in the physical space can represents the oxygenation over time of the blood at that point, which in tum can indicate the oxygen-dependent neuronal activity at that point. Being able to capture data indicating neuronal activity at a given point in a brain can be very useful for studying brain activity and diseases.

It is known to process fMRI BOLD signal data using LLE. For example, Mannfolk et al., in “Dimensionality Reduction of fMRI Time Series Data Using Locally Linear Embedding” (Magnetic Resonance Material Physics, Mar. 13, 2010, Volume 23; Pages 432-338) disclose that, for non-linear example data, LLE, unlike PCA, can separate non-linearly modulated sources in a low-dimensional subspace, and that LLE can also perform better than non-linear PCA.

However, the above-referenced technique for processing fMRI BOLD signal data using LLE undertakes a neighborhood selection step that essentially establishes locality based on similarities between fMRI signals across the dataset. Because of this, reconstructions of different patients' fMRI datasets could use fMRI signals from non-corresponding spatial points in the physical space (i.e., the three-dimensional volumes containing the respective brains) being assessed.

With fMRI signals, since the spatial information is lost during the reconstruction, hemodynamic activity at a spatial position within one subject's reconstruction cannot validly be compared to hemodynamic activity at the same spatial position within another subject's reconstruction. Because of this, there remain difficulties with identifying differences in mental activity between the subjects, and with conducting classification or other subsequent operations based on the respective reconstructions.

SUMMARY OF THE INVENTION

In accordance with an aspect, there is provided a computer-implemented method for processing a dataset of multidimensional signals captured from points in a physical space, the method comprising using a computing system, determining, for each of the points, a plurality of spatially neighboring points in the physical space; and using the computing system, creating a modified signal for each point based on the signals of its respective spatially neighboring points.

By creating modified signals based on signals of spatially neighboring points, the resultant modified signals can be more easily compared across subject datasets on the basis that all subjects' reconstructed signals at a given point were reconstructed on the basis of signals from the same spatially neighboring points in the respective datasets.

In embodiments, the dataset of multidimensional signals is a dataset of functional Magnetic Resonance Imaging (fMRI) BOLD (Blood Oxygenation Level Dependent) signals.

In accordance with another aspect, there is provided a computer-implemented method for processing a dataset of multidimensional signals captured from points in a physical space, the method comprising using a computing system, determining, for each of the points, a plurality of spatially neighboring points in the physical space; using the computing system, creating a modified signal for each point based on the signals of its respective spatially neighboring points.

In accordance with another aspect, there is provided a non-transitory computer readable medium embodying a computer program executable on a computing system for processing a dataset of multidimensional signals captured from points in a physical space, the computer program comprising computer program code for determining, for each of the points, a plurality of spatially neighboring points in the physical space; and computer program code for creating a modified signal for each point based on the signals of its respective spatially neighboring points.

In accordance with another aspect, there is provided a computing system comprising at least one processor executing instructions for processing a dataset of multidimensional signals captured from points in a physical space, the at least one processor configured therewith to determine, for each of the points, a plurality of spatially neighboring points in the physical space; and create a modified signal for each point based on the signals of its respective spatially neighboring points.

In accordance with another aspect, there is provided a computer-implemented method for processing a dataset of multidimensional signals captured from points in a physical space, the method comprising conducting local linear embedding on the dataset, wherein reconstruction weights for the signal at each point are established using signals at spatially neighboring points that are within a spatial neighborhood of the point in the physical space.

In accordance with another aspect, there is provided a computer-implemented method for processing a dataset of multidimensional signals captured from points in a physical space, the method comprising determining reconstruction weights for the signal at each point based on signals at spatially neighboring points that are within a spatial neighborhood of the point in the physical space; and constructing modified signals using local linear embedding based on the reconstruction weights.

In accordance with another aspect, there is provided a computing system comprising at least one processor executing instructions for processing a dataset of multidimensional signals captured from points in a physical space, the at least one processor configured therewith to conduct local linear embedding on the dataset, wherein reconstruction weights for the signal at each point are established using signals at spatially neighboring points that are within a spatial neighborhood of the point in the physical space.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described with reference to the appended drawings in which:

FIG. 1A is a graphical depiction of a voxel modelled as a black body in a three-dimensional Cartesian physical space, along with spatially neighboring voxels;

FIG. 1B is a plot of the relative fMRI BOLD signal intensities of spatially neighboring points relative to the origin representing the black body relative to its spatial neighbors;

FIG. 2 is a plot of a subset of a raw fMRI dataset and an fMRI signal reconstructed according to the invention disclosed herein;

FIG. 3 is a flowchart depicting the general steps for processing a dataset of fMRI signals, according to an embodiment;

FIG. 4 is a flowchart depicting in further detail steps for determining spatially neighboring points within a neighborhood in a physical space for each point;

FIG. 5 is a flowchart depicting in further detail steps for reconstructing each point's signal based on the signals of its spatially neighboring points;

FIG. 6 is a plot of a reconstructed fMRI Z based in part on the raw fMRI signals depicted in the plot of FIG. 2; and

FIG. 7 is a schematic diagram of an aspect of the computing environment which may be used to implement one or more embodiments of the method described herein.

DETAILED DESCRIPTION

The description of the invention to follow is, for ease of understanding, made in connection with an embodiment where the dataset of multidimensional signals is a dataset of functional Magnetic Resonance Imaging (fMRI) BOLD (Blood Oxygenation Level Dependent) signals. However, it will be understood that the invention is applicable to the processing of datasets of other kinds of multidimensional signals captured from points in a physical space, such as other spatiotemporal signals, of which fMRI BOLD signals are an example.

A local interpretation of fMRI data may be expressed in terms of a BOLD signal comprising BOLD intensity values over T time points (T being greater than or equal to 1) being a T-dimensional spatial pattern observed at the spatial point in the physical space being assessed, as defined by the respective point of the voxel in the fMRI data.

A global interpretation of fMRI data may be expressed in terms of the fMRI data containing T uniformly-spaced time points, where time point t ϵ {1, . . . , T} references a physical space that is a three-dimensional volume comprised of V=L×W×H points, or voxels (volumetric elements), having a respective BOLD intensity value. That is, each voxel is a volumetric measurement of the brain's physical mechanisms in both space and time. The measurement may be expressed as four-tuple (x, y, z, t).

The local interpretation may be employed to determine the mathematical structures of the local configurations of the fMRI data in space-time, whereas the global interpretation may be employed to perform a global optimization that conserves the mathematical structure of the local configurations. A topological space that represents the physical reality must satisfy both the local and global interpretations.

FIG. 1A is a graphical depiction of a voxel modelled as a black body in a three-dimensional Cartesian physical space, along with a number (K) of its spatially neighboring voxels within a neighborhood. The set containing the spatial coordinates of all voxels in the three-dimensional Cartesian physical space may be represented as in Equation 1, below:

X={(x, y, z): xϵ {1, . . . , L}, yϵ {1, . . . , W}, zϵ {1, . . . , H}}  (1)

FIG. 1B is a plot of the relative fMRI BOLD signal intensities of spatially neighboring points relative to the origin line at zero, representing the black body relative to its spatial neighbors.

FIG. 2 is a plot of a subset of an fMRI dataset with raw, or original, captured BOLD signal intensities of spatially neighboring points relative to the BOLD signal intensity of a selected point, over the assessment time period. FIG. 2 also shows the reconstructed fMRI signal of the point based on the fMRI signals of these spatially neighboring points.

FIG. 3 is a flowchart depicting the general steps in a computer-implemented method 90 for processing a dataset of multidimensional signals captured from points in a physical space, according to an embodiment where the multidimensional signals are fMRI BOLD signals captured from points in a three-dimensional volume. Initially, a dataset of the fMRI BOLD signals is captured from the three-dimensional (3D) volume being assessed (step 100). The dataset may captured and formatted according to the NIFTI (Neuroimaging Informatics Technology Initiative) file format, where each BOLD measurement at each time point t and at each spatial point (x, y, z) in the three-dimensional volume being assessed is expressed as a four-tuple (x, y, z, t). The dataset may be represented in a single file, or in a set of multiple files.

The dataset is then processed to mask out the points that do not represent points in the three-dimensional volume being assessed that are coincident with the brain. The points that are masked out will not have any fMRI BOLD signal measurements. The dataset is then further processed to determine spatially neighboring points within a spatial neighborhood of each point in the three-dimensional volume (step 200). With the spatially neighboring points for each point having been determined, a modified fMRI BOLD signal for each point is then created based on the fMRI BOLD signals of its spatially neighboring points (step 300).

FIG. 4 is a flowchart depicting in further detail steps for determining spatially neighboring points within a neighborhood in a 3D volume for each point (step 200). In this embodiment, the spatial dimensions of the three-dimensional volume being assessed is determined based on the dataset (step 210). In this embodiment, the dataset is processed to calculate the range of each of the spatial dimensions x, y and z. Alternatively, the spatial resolution may be specified explicitly in the dataset and simply accessed, or fixed in a given implementation.

With the spatial resolution of the dataset having been determined, a three-dimensional data structure representing a three-dimensional Cartesian space is constructed based on the determined spatial dimensions (step 220). In this embodiment, the constructed three-dimensional Cartesian space has x, y and z dimensions that are the same as the three-dimensional volume from which the dataset of multidimensional signals has been captured. However, in an alternative embodiment, the spatial resolution of the Cartesian space may be established to be different, and does not need to be derived from or based on the dataset itself. That is, one does not require an actual dataset of multidimensional signals to establish spatial dimensions and resolution of the three-dimensional Cartesian space, nor to establish the spatially neighboring points as described herein.

Spatially neighboring points are identified for each non-zero point (i.e., the points corresponding to points in the brain in the three-dimensional volume being assessed as opposed to points outside of the brain in the three-dimensional volume) in the three-dimensional Cartesian space, by identifying those neighboring points that are within a respective spatial neighborhood in the three-dimensional Cartesian space from the point (step 230). In this embodiment, the spatial neighborhood of each point is a spherical subvolume centered at the point having a predetermined radius r. In this way, the size of the spherical subvolume is defined by r, such that spatially-adjacent neighboring points are those points within a Euclidean distance r from the point.

In particular, the point (x_(i), y_(i), z_(i)) of each voxel iϵ{1, . . . , V} in X is prescribed an open set of neighbor voxels at respective points (x, y, z) that are within an Euclidean distance defined by spatial radius r in the three-dimensional Cartesian coordinate system using the Pythagorean distance metric, as represented as in Equation 2, below:

N(i)={(x, y, z): √{square root over ((x−x _(i))²+(y−y _(i))²+(z−z _(i))²)})≤r}  (2)

It will be understood that the number K of neighboring voxels for each voxel is dependent on radius r, as represented in Equation 3, below:

K=(1+2r)³ −l   (3)

With the open set of N(i) of neighbors having been identified for each point, the spatial locations (x, y, z) of the neighbors for each point are stored in a neighborhood data structure in association with the point. In this embodiment, the locations are stored in the neighborhood data structure sorted according to their spatial proximity to the point in association with which they are stored, i.e., from closest neighbor to farthest neighbor. In this embodiment, the neighborhood data structure is a two-dimensional matrix where the first dimension represents spatial locations of points for voxels i ϵ: {l, . . . , V} and the second dimension stores as its elements the (x, y, z) locations of the spatially neighboring points. The order is such that element one for a given point stores the location of its closest neighboring point, element two stores the location of its second closest neighboring point, element three stores the location of its third closest neighboring point, and so forth until element K stores the location of its most distant neighboring point.

The neighborhood data structure, having been populated as described above for each spatial, non-zero point in the three-dimensional data structure representing the three-dimensional Cartesian space, is used for subsequent local linear embedding (LLE) processing on the dataset so that reconstruction weights for the signal at each point are established using signals at spatially neighboring points that are within a spatial neighborhood of the point in the three-dimensional volume. That is, since spatially neighboring points are selected as described above, no further neighborhood selection step for LLE is required in order to output a reconstructed dataset that may reveal underlying patterns that may be useful during subsequent processing, clinical diagnosis and so forth.

Each subject's dataset of multidimensional signals (in this embodiment fMRI signals) may be represented as a four-dimensional array X, as represented in Equation 4, below:

X ϵ

^(L×W×H×T)   (4)

X has V=LWH T-dimensional fMRI signal waveforms represented as in Equation 5, below:

X_(i)=

^(T)   (5)

for: i=1, . . . , V.

The processing is conducted on the assumption that a d-dimensional reconstruction z exists for every point's signal waveform for every subject's dataset. Such a reconstruction z for every voxel waveform x may be represented as in Equations 6 and 7, below:

zϵ

^(d)   (6)

x ϵ

^(T)   (7)

The implementation of LLE, according to this embodiment, reconstructs X by first linearizing the spatial indices of the dataset to produce a two-dimensional array X, as represented in Equation 8, below, and ultimately to re-shape a resulting two-dimensional reconstruction array Z as represented in Equation 9, below, into a four-dimensional array as represented in Equation 10, below:

Xϵ=

^(V×T)   (8)

Zϵ=

^(V×d)   (9)

Z ϵ=

^(L×W×H×d)   (10)

According to this embodiment, LLE reconstructs X by characterizing every voxel as a black body. This is done by undertaking a process that seeks to minimize the reconstruction cost of its fMRI signal waveform x_(i) in terms of its spatially-adjacent neighbors. This minimization may be represented as in Equations 11 and 12, below:

$\begin{matrix} {\min{{x_{i} - {\sum\limits_{j \in {N{(i)}}}{w_{i,j}x_{j}}}}}_{2}^{2}} & (11) \end{matrix}$

such that:

$\begin{matrix} {{\sum\limits_{j \in {N{(i)}}}w_{i,j}} = 1} & (12) \end{matrix}$

As set forth above, N(i) is the open set of spatial neighbors, and w_(i)=[w_(i),₁. . . . w_(iK)] ϵ R^(K) are the reconstruction weights for the K spatial neighbors that reflect the spatial pattern of the absorbed electromagnetic radiation at the spatial location of voxel i.

FIG. 5 is a flowchart depicting in further detail steps for, with the neighborhood data structure having been populated, creating a modified signal for each point based on the signals of respective spatially neighboring points (step 300), according to this embodiment. The dataset and the neighborhood data structure are received (step 310) and a first non-zero point is selected for processing (step 320). The covariance between the signal of each spatially neighboring point, less the signal of the selected point, and the signal of the selected point, is then computed (step 330). In particular, to determine the black body at the selected point, the signal of the point is first subtracted from the signals of its neighbors w_(i)=[w_(i),₁. . . . w_(iK)] ϵ R^(K) j ϵ N(i). This reflects the intuition that the electromagnetic radiation is absorbed at this point, and establishes an origin, or axis for the point, as depicted by the zero line in FIG. 1B.

A local Hilbert space Ci is then computed as represented in Equation 13, below:

Ci=[(x _(j) −x _(i)), . . . (X _(j+k) −x _(i))]^(T)[(x _(j) −x _(i)), . . . (x _(j+k) −x _(i))] . . .

|_(K)   (13)

In Equation 13,

|_(K) is a non-negative regularization term that conditions the Hilbert space C_(i) to be positive definite. That is, this term simply adds a positive multiple down the diagonal of the matrix C_(i). Based on C, a reconstruction weight for each spatially neighboring point j is computed (step 340) by finding the unique minimum norm solution to the constrained local least squares problem that is defined by Equation 14, below:

C_(i)w_(i)=1_(K)   (14)

where:

-   1_(K) ϵ R^(K) is a vector of ones.

Because C_(i) is a square-integrable space (known as a Lebesgue space or l²), defined on a Cartesian space with the Pythagorean distance metric, the reconstruction weights w; are the resulting (local) Lebesgue measures containing the shift, rotation and translation-invariant geometric structure of the spatially-local contours of the space-filling curve that represents the local electric charge over time of selected point i. The constraint defined in Equation 14 ensures that the area between the selected point and the contour is 1 in each of the |N(i)| directions. The reconstruction weights w; are stored in association with the selected point i (step 350).

In the event that it is determined that there are further (non-zero) spatial points to process (step 360), another spatial point is selected (step 370) and the process continues from step 330 with the newly-selected spatial point. On the other hand, should it be determined at step 360 that there are no further spatial points to process as has been described above, a modified signal for each spatial point is computed based on its respective reconstruction weights (step 380).

During computing of modified signals based on respective construction weights, a modified signal for all points is computed using a constrained global least squares optimization based on the reconstruction weights, wherein the modified signals have unit covariance.

More particularly, the reconstruction weights w are used in a global optimization based on the Gauss Principle of Least Constraint, to calculate manifolds z_(i), . . . z_(V), as represented in Equations 15 and 16, below:

$\begin{matrix} {{{{{\min\limits_{z = {\lbrack{z_{1},\;{.\;.\;.}\;,z_{V}}\rbrack}}\sum}}z_{i}} - {\sum\limits_{j \in {N{(i)}}}{w_{i,j}z_{j}}}}}_{2}^{2} & (15) \end{matrix}$

such that:

ZZ^(T)=I   (16)

In Equations 15 and 16, Z ϵ R^(V×d).

More particularly, a sparse matrix W ϵ R^(V×V) is constructed containing V voxels' K reconstruction weights. It is the case that W_(i, i)←w_(i, j)≠0↔j ϵ N(i). Since neighboring points are determined by Pythagorean distance, j ϵ N(i)↔i ϵ N(j). The local linear embedding is done based on matrix W and not on the original inputs. As such, d-dimensional manifolds are constructed by computing the eigenvectors of the distance, or cost, matrix M as represented by Equation 17, below:

M=(I−W)^(T) (I−W)   (17)

It will be understood that, since no voxel is a neighbor of itself, matrix W will have zeroes down the diagonal. Subtracting W from the identity matrix I enforces the constraint that the weight vectors must sum to one. Each element of cost matrix M may be represented as in Equation 18, below:

M _(i, j)=δ_(i, j) −w _(i, j) −w _(j, i) +Σw _(i, k) w _(j, k)   (18)

where: δ_(i, j)=1↔i=j and is otherwise 0

Equation 18 and its constraint illustrates that the cost matrix M is also an adjacency matrix, where the off-diagonal elements characterize a highly non-linear relationship between voxels, and the diagonal elements enforce the constraint that the weights must sum to 1.

It is the case that the cost matrix M is sparse, symmetric and positive semidefinite. As such, it admits the eigen-decomposition as represented in Equation 19, below:

M=ZΛZ^(T)   (19)

In Equation 19, Λ ϵ R^((d+1)×(d+1)) is the diagonal matrix containing the d+1 smallest eigenvalues of M, and Z ϵ R^((d+1)×(d+1)) are the corresponding eigenvectors. The (d+1) eigenvector is the unit vector with equal components, which is discarded to enforce the constraint that the space-time manifolds have mean zero.

In order to avoid degenerate solutions, the local linear embedding requires that the manifolds be centered about the origin (see, for example, FIG. 1B) in both space and time, and that the manifolds have unit covariance. Centering the manifolds about the origin ensures that they are of the same scale. This is, to a degree, similar to what is known as BOLD-signal normalization, where the unit covariance constraint imposes the requirement that the reconstruction errors of the extracted manifolds are measured on the same scale.

FIG. 6 is a plot of a reconstructed fMRI Z based in part on the raw fMRI signals depicted in the plot of FIG. 2. As can be seen, the mathematical structures in the patterns of FIG. 2 are preserved in FIG. 6. That is, the hemodynamic patterns in the fMRI BOLD signals depicted in FIG. 2 are preserved during the reconstruction.

In this embodiment, process 90 is executed on a computing system 1000 such as that shown in FIG. 7. In an embodiment involving fMRI datasets, the computing system 1000 may be incorporated into an fMRI machine, a type of magnetic resonance imaging system 1100 or a downstream processing structure that receives a dataset 1101 of fMRI signals through input port 1102 in NIFTI or other suitable file format and can process the received dataset accordingly. The computing system processes the dataset 1101, and produces a magnetic resonance image for presentation to a user, e.g., at display 1012 or printer 1026.

In this embodiment, computing system 1000 includes a bus 1010 or other communication mechanism for communicating information, and a processor 1018 coupled with the bus 1010 for processing the information. The computing system 1000 also includes a main memory 1004, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), and synchronous DRAM (SDRAM)), coupled to the bus 1010 for storing information and instructions to be executed by processor 1018. In addition, the main memory 1004 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processor 1018. Processor 1018 may include memory structures such as registers for storing such temporary variables or other intermediate information during execution of instructions. The computing system 1000 further includes a read only memory (ROM) 1006 or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to the bus 1010 for storing static information and instructions for the processor 1018.

The computing system 1000 also includes a disk controller 1008 coupled to the bus 1010 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 1022, and a removable media drive 1024 (e.g., floppy disk drive, read-only compact disc drive, read/write compact disc drive, compact disc jukebox, tape drive, and removable magneto-optical drive). The storage devices may be added to the computing system 1000 using an appropriate device interface (e.g., small computing system interface (SCSI), integrated device electronics (IDE), enhanced-IDE (E-IDE), direct memory access (DMA), or ultra-DMA).

The computing system 1000 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).

The computing system 1000 may also include an output port, e.g., a display controller 1002 coupled to the bus 1010 to control a display 1012, such as a liquid crystal display (LCD) screen, for displaying information to a computer user. The computing system 1000 includes input devices, such as a keyboard 1014 and a pointing device 1016, for interacting with a computer user and providing information to the processor 1018. The pointing device 1016, for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor 1018 and for controlling cursor movement on the display 1012. In addition, a printer 1026 may provide printed listings of data stored and/or generated by the computing system 1000.

The computing system 1000 performs a portion or all of the processing steps of the invention in response to the processor 1018 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 1004. Such instructions may be read into the main memory 1004 from another computer readable medium, such as a hard disk 1022 or a removable media drive 1024. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1004. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.

As stated above, the computing system 1000 includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.

Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computing system 1000, for driving a device or devices for implementing the invention, and for enabling the computing system 1000 to interact with a human user (e.g., print production personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.

The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.

A computer readable medium providing instructions to a processor 1018 may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk 1022 or the removable media drive 1024. Volatile media includes dynamic memory, such as the main memory 1004. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 1010. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 1018 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computing system 1000 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus 1010 can receive the data carried in the infrared signal and place the data on the bus 1010. The bus 1010 carries the data to the main memory 1004, from which the processor 1018 retrieves and executes the instructions. The instructions received by the main memory 1004 may optionally be stored on storage device 1022 or 1024 either before or after execution by processor 1018,

The computing system 1000 also includes a communication interface 1020 coupled to the bus 1010. The communication interface 1020 provides a two-way data communication coupling to a network link that is corrected to, for example, a local area network (LAN) 1500, or to another communications network 2000 such as the Internet. For example, the communication interface 1020 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 1020 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 1020 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

The network link typically provides data communication through one or more networks to other data devices. For example, the network link may provide a connection to another computer through a local network 1500 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 2000. The local network 1500 and the communications network 2000 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT5 cable, coaxial cable, optical fiber, etc.). The signals through the various networks and the signals on the network link and through the communication interface 1020, which carry the digital data to and from the computing system 1000 may be implemented in baseband signals, or carrier wave-based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term “bits” is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a “wired” communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computing system 1000 can transmit and receive data, including program code, through the network(s) 1500 and 2000, the network link and the communication interface 1020. Moreover, the network link may provide a connection through a LAN 1500 to a mobile device 1300 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.

Alternative configurations of computing system 1000, such as those that are not interacted with directly by a human user through a graphical or text user interface, may be used to implement process 90.

Although embodiments have been described with reference to the drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the spirit, scope and purpose of the invention as defined by the appended claims.

For example, while the invention has been explained in detail using fMRI BOLD signals as multidimensional signals captured from points in a physical space that is a three-dimensional volume, the invention may be applicable to other kinds of multidimensional signals captured from points in other physical spaces by various detectors. 

1. A method of processing multidimensional signals representing an object, comprising: receiving the multidimensional signals representing a plurality of separated nonlinear manifolds captured by at least one detector from the object, represented as a plurality of elements in an array; constructing a modified array of elements having reconstruction errors of the separated nonlinear manifolds on the same scale, using at least one automated processor; and presenting a reconstructed representation of the object, based on the modified array of elements, using the at least one automated processor.
 2. The method according to claim 1, wherein said constructing comprises: determining distances to spatial neighbors of the plurality of elements in the array; linearizing spatial indices in the array to produce a linearized array of elements, constrained to maintain spatial neighbor relationships of the plurality of elements in the array, using at least one automated processor; and generating reconstruction weights for reconstructing the linearized array of elements, using locally linear embedding, at a minimized cost of reconstruction, based on at least distances of the spatial neighbors from the respective element, using the at least one automated processor.
 3. The method according to claim 1, wherein the modified array of elements is defined in a Lebesgue space, and has unit covariance.
 4. The method according to claim 1, wherein the representation comprises a set of voxels of the object, each voxel modelled as a black body in a three-dimensional Cartesian physical space.
 5. The method according to claim 4, wherein each voxel represents magnetic resonance image data.
 6. The method according to claim 1, further comprising storing, in association with each element, coordinates of the spatial neighbors in an order corresponding to their respective determined distances from the respective element.
 7. The method according to claim 1, further comprising computing a respective covariance between the multidimensional signals of each spatial neighbor, less the multidimensional signal of the element, and the multidimensional signal of the element, wherein the reconstruction weights for each spatially neighbor are generated based on a constrained local least-squares optimization of the covariances.
 8. The method according to claim 1, wherein the spatial neighbors of each element comprise elements within a spherical subvolume centered at the element having a predetermined radius.
 9. The method according to claim 1, wherein the objects are three-dimensional objects.
 10. A system for processing multidimensional signals, comprising: an array representing a plurality of elements stored in a memory, comprising multidimensional signals representing a plurality of separated nonlinear manifolds captured by at least one detector from the object; at least one automated processor configured to construct a modified array of elements representing origin-centered manifolds in both space and time having unit covariance; and an output port presenting a reconstructed representation of the object, based on the modified array of elements, using the at least one automated processor.
 11. The system according to claim 10, wherein the at least one automated processor is further configured to: linearize spatial indices of the array to produce a linearized array of elements, constrained to maintain a spatial neighbor relationship with the spatial neighbors of the plurality of elements determined based on distances between respective elements; generate reconstruction weights for each respective element of the linearized array of elements, for reconstructing the linearized array of elements at a minimized cost of reconstruction based on the spatial neighbors of each respective element, using locally linear embedding; and construct a modified array of elements based on the generated reconstruction weights.
 12. The system according to claim 11, wherein the at least one automated processor is further configured to compute a respective covariance between the multidimensional signals of each spatial neighbor less the multidimensional signal of the element, and the multidimensional signal of the element, wherein the reconstruction weights for each spatially neighbor are generated based on a constrained local least-squares optimization of the covariances.
 13. The system according to claim 11, wherein the array is in a Lebesgue space, and the modified array of elements has unit covariance.
 14. The system according to claim 10, wherein the representation comprises a set of voxels of the object, each voxel modelled as a black body in a three-dimensional Cartesian physical space.
 15. The system according to claim 14, wherein the multidimensional signals represent magnetic resonance image data.
 16. The system according to claim 15, wherein the magnetic resonance image data comprises functional Magnetic Resonance Imaging (fMRI) BOLD (Blood Oxygenation Level Dependent) signals.
 17. The system according to claim 10, wherein the objects are three-dimensional objects and the linearized array of elements is at least three dimensional.
 18. A method of generating a modified representation of medical imaging signals representing volumetric elements modelled as black bodies in a physical space, comprising: receiving an array of medical imaging signals as an input dataset; determining distances between volumetric elements within the array; determining spatial neighbors of the volumetric elements in the array based on the determined distances; linearizing spatial indices of the array to produce a linearized array constrained to maintain a spatial neighbor relationship with the determined spatial neighbors of the volumetric elements, defining a Lebesgue space; generating reconstruction weights for reconstructing the linearized array, using locally linear embedding, at a minimized cost of reconstruction from the spatial neighbors; constructing a modified array of volumetric elements using a constrained global least squares optimization based on the reconstruction weights, wherein the volumetric elements of the modified array have unit covariance; and presenting a medical image, based on the modified array of volumetric elements.
 19. The method according to claim 18, wherein the medical image signals comprise a set of voxels of the object representing magnetic resonance image data over time, each voxel modelled as a black body in a three-dimensional Cartesian physical space over time.
 20. The method according to claim 18, further comprising computing a respective covariance between the multidimensional signals of each spatial neighbor less the multidimensional signal of the element, and the multidimensional signal of the element, wherein the reconstruction weights for each spatially neighbor are generated based on a constrained local least-squares optimization of the covariances, and wherein the spatial neighbors of each element comprise elements within a spherical subvolume centered at the element having a predetermined radius. 